The present invention relates to business process management, and, more specifically, to business process error handling through business process instance backup and recovery.
Business process management (“BPM”) is key to successful business process improvement. For example, BPM can capture business logic as a service such as a common procurement process to be shared among different business parties. During the execution life cycle of a business process, which can be relatively short or long (e.g., hours, days, weeks, months or years), different kinds of errors or failures associated with the business process may occur. Examples include process model bugs (business process level errors), process engine software component failures (process engine level errors), or environmental hardware errors (physical server errors such as physical memory or disk errors).
One aspect of BPM is how it handles these various types of errors or failures. Depending on the implementation of the process workflow engine, the process instance states may have been persisted or stored to a database at various predefined transaction boundaries. Therefore, when a failure or error occurs in the execution of the business process, the instance (i.e., the software thread running according to steps defined in a business process model) can be stepped back to a stored transaction boundary in an attempt to recover from the error. This type of failure recovery management is controlled by the internal logic of the process workflow engine, as the process workflow engine typically includes transaction locking to determine the location of the error or failure. Also, the success of this type of failure recovery management depends on whether any hardware malfunctioning occurs as a part or all of the error or failure.